package com.qfedu.bigdataapp.adapter;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.qfedu.bigdataapp.bean.NewsEntity;
import com.qfedu.bigdataapp.R;

import java.util.List;

public class NewsAdapter extends BaseAdapter {
    private Context context;
    private List<NewsEntity> newList;

    public NewsAdapter(Context context, List<NewsEntity> list) {
        this.context = context;
        this.newList = list;
    }

    /**
     * 该方法用于返回，一共要展示多少个数据条目（新闻）
     *
     * @return
     */
    @Override
    public int getCount() {
        return newList.size();
    }

    /**
     * 该方法用于返回每一项条目所对应的数据
     *
     * @param position
     * @return
     */
    @Override
    public NewsEntity getItem(int position) {
        return newList.get(position);
    }

    /**
     * 该方法用于返回第position个条目的编号，编号要保证唯一
     *
     * @param position
     * @return
     */
    @Override
    public long getItemId(int position) {
        return position;
    }

    /**
     * 该方法用于获取视图
     *
     * @param position
     * @param view
     * @param viewGroup
     * @return
     */
    @Override
    public View getView(int position, View view, ViewGroup viewGroup) {
        //① 需要拿到要展示的新闻数据：newList.get(1)
        NewsEntity entity = newList.get(position);

        //② 拿到要展示的效果模板（样式）泵：水泵，抽水(提供动力）
        //LayoutInflater：Android提供的工具类，通过该类可以获得一个布局文件
        //使用方法：LayoutInflater.from()
        View view1 = LayoutInflater.from(context).inflate(R.layout.item_newlist, viewGroup,false);
        TextView tvTitle = view1.findViewById(R.id.tv_title);
        TextView tvContent = view1.findViewById(R.id.tv_content);
        TextView tvOrginal = view1.findViewById(R.id.tv_original);
        TextView tvLike = view1.findViewById(R.id.tv_like);
        TextView tvComment = view1.findViewById(R.id.tv_comment);
        TextView tvShare = view1.findViewById(R.id.tv_share);

        //③ 把数据设置到模板视图的对应的位置
        tvTitle.setText(entity.getTitle());//设置新闻标题
        tvContent.setText(entity.getContent());//设置新闻简介
        tvOrginal.setText(entity.getOriginal());
        tvLike.setText(entity.getLike() + "喜欢");
        tvComment.setText(entity.getComment() + "评论");
        tvShare.setText(entity.getShare() + "分享");

        return view1;
    }
}
